Menu
Apache_Kafka Seni binaKafka menyimpan pesanan-pesanan kekunci-nilai (key-value) yang datang daripada seberapa banyak proses yang dipanggil penerbit. Data boleh diasing-asingkan kepada "partisyen" berbeza dalam "topik" berlainan. Dalam sesebuah partisyen, pesanan disusun rapi mengikut ofsetnya (kedudukan pesanan dalam partisyen), lalu diindekskan dan disimpan berserta cap waktu (timestamp). Proses-proses lain yang dipanggil "konsumer" boleh membaca pesanan daripada partisyen. Kafka menawarkan Streams API untuk pemprosesan strim yang membolehkan aplikasi-aplikasi Java ditulis untuk menerima data daripada Kafka serta menulis hasil balik kepada Kafka. Apache Kafka juga mampu bekerja sama dengan sistem pemprosesan strim luar seperti Apache Apex, Apache Flink, Apache Spark, dan Apache Storm.
Kafka dijalankan pada gagasan satu atau lebih pelayan (digelar broker), dan partisyen-partisyen bagi kesemua topik diagih-agihkan antara nod-nod gagasan. Tambahan lagi, partisyen-partisyen direplikakan kepada lebih daripada satu broker. Seni bina ini membolehkan Kafka mengirim strim pesanan dengan jumlah yang besar dalam cara yang tahan rosak, hatta membolehkannya mengganti beberapa sistem pesanan terdahulu seperti Java Message Service (JMS), Advanced Message Queuing Protocol (AMQP), dan sebagainya. Sejak keluaran 0.11.0.0, Kafka menawarkan tulisan bertransaksi, yang menyediakan pemprosesan strim betul-betul sekali menggunakan Streams API.
Kafka menyokong dua jenis topik: biasa dan terpadat. Topik biasa boleh dikonfigurasikan dengan suatu masa pegangan atau suatu had ruang. Jika ada rekod yang usianya melebihi masa pegangan atau melebihi had ruang partisyen yang telah ditetapkan, Kafka dibenarkan untuk menghapuskan data lama demi melapangkan ruang simpanan. Secara lalai, sesuatu topik dikonfigurasi dengan masa pegangan selama 7 hari, tetapi data juga boleh disimpan tanpa had masa. Bagi topik-topik terpadat, rekod tidak luput berasaskan masa atau ruang. Sebaliknya, Kafka menganggap pesanan-pesanan terkemudian sebagai kemaskini bagi pesanan terdahulu yang mempunyai kekunci yang sama dan menjamin bahawa pesanan terkini sesuatu kekunci tidak akan dihapuskan. Pengguna boleh menghapuskan pesanan secara menyeluruh dengan menulis pesanan penamat (tombstone message) dengan nilai null untuk kekunci tertentu.
Terdapat empat API utama dalam Kafka:
API producer dan consumer dibina di atas protokol pesanan Kafka dan menyediakan pelaksaanan rujukan dalam Java untuk klien-klien Kafka. Protokol pesanan Kafka ialah sebuah protokol perduaan yang boleh digunakan pembangun jika ingin membuat pelaksanaan konsumer atau penerbit dalam mana-mana bahasa pengaturcaraan. Ini membuatkan Kafka bebas daripada terikat dengan ekosistem JVM. Klien-klien bukan Java ada tersenarai di Wiki Apache Kafka.
Menu
Apache_Kafka Seni binaBerkaitan
Apach Apache Kafka Apache Wave Apache Corporation Apache Ant Apache Apache Gold Apache Struts Apache JMeter Apache MavenRujukan
WikiPedia: Apache_Kafka http://www.builtinla.com/2015/11/04/ctos-know-meet... http://blogs.cisco.com/security/opensoc-an-open-co... http://www.conviva.com/ http://www.couchbase.com/nosql-resources/presentat... http://fortune.com/2014/11/06/linkedin-kafka-confl... http://product.hubspot.com/blog/kafka-at-hubspot-p... http://www.infoq.com/presentations/uber-stream-pro... http://kafka.apache.org http://apachebigdata2015.sched.org/event/2a65daf0b... http://apachebigdata2015.sched.org/event/3ztw/netf...